package com.demo.java.OD601_650.OD639;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【垃圾短信识别(A卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146972303
 */
public class OdMain {
    public static void main(String[] args) {
        // 处理输入
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(); // 获取消息对的数量

        // 创建一个 100x100 的二维数组来记录每对用户之间的消息发送与接收情况
        int[][] id_pairs = new int[n][2];
        int[][] data = new int[100][100]; // 记录发送者到接收者的消息数

        // 读取所有消息对并更新消息记录
        for (int i = 0; i < n; i++) {
            id_pairs[i][0] = in.nextInt(); // 发送者 ID
            id_pairs[i][1] = in.nextInt(); // 接收者 ID
            data[id_pairs[i][0]][id_pairs[i][1]] += 1; // 增加该发送者到接收者的消息计数
        }

        // 获取需要分析的 ID
        int id = in.nextInt();

        // 初始化一些变量
        int L = 0;  // 记录发送给其他用户的消息数量
        int M1 = 0; // 记录该 ID 发送的总消息数量
        int M2 = 0; // 记录该 ID 接收的总消息数量
        boolean flag = false; // 标记是否为异常

        // 遍历所有用户
        for (int i = 0; i < 100; i++) {
            // 如果该 ID 向用户 i 发送了消息，但用户 i 没有向该 ID 发送消息
            if (data[id][i] > 0 && data[i][id] == 0) {
                L++;
            }

            // 统计该 ID 发送和接收的消息数量
            M1 += data[id][i]; // 发送消息总数
            M2 += data[i][id]; // 接收消息总数

            // 判断是否发送消息数量大于接收超过 5
            if (data[id][i] - data[i][id] > 5) {
                flag = true;
            }
        }

        // 判断异常情况：发送给其他用户的消息超过 5 或者发送接收差异超过 10
        if (L > 5 || M1 - M2 > 10) {
            flag = true;
        }

        // 输出结果：是否为异常，发送给其他用户的消息数，以及发送接收差异
        System.out.println(flag + " " + L + " " + (M1 - M2));
    }
}